In general, the present invention relates to a communication network which is built by using connection switching exchanges, such as an ATM (Asynchronous Transfer Mode) device, and a frame relay, each for implementing a plurality of logical connections on a single logical connection line and which is used for switching a plurality of logical connections of a plurality of communication lines, while rewriting connection identifiers in the connection switching exchanges. More particularly, the present invention relates to a connection switching network control method, a connection switching apparatus and a connection switching network management unit which are appropriate for implementing a high-speed and/or reliable large scale IP/(Internet Protocol) network which can easily recover even in the case of errors.
With regard to a connection switching exchange represented by the conventional ATM device and a frame relay, an example of the ATM device is described on pages 17 to 23 of a book entitled xe2x80x98ATM Network Bible with Illustrative Diagramsxe2x80x99 published by Ohm Corporation in 1995. FIG. 2 is a diagram showing the functions and structure of the conventional connection switching exchange in a simple and plain manner. The connection switching exchange 1 is connected to terminating nodes, such as communication terminals and gateways to another network or to other connection switching exchanges, each serving as an adjacent apparatus directly connected thereto by communication lines 2. In the figure, there are communication lines 2-1 to 2-9. The connection switching exchange 1 has a function of setting a plurality of logical connections 3 through each of the communication lines 2, each for connecting the connection switching exchange to a directly connected adjacent apparatus. In the figure, there are shown logical connections 3-1-1, 3-1-2 and 3-1-3 set up through the communication line 2-1, a logical connection 3-8-1 set up through the communication line 2-8 and logical connections 3-9-1 and 3-9-2 set up through the communication line 2-9.
The connection switching exchange 1 further has a function of linking two logical connections 3 set in a single communication line 2 or in two communication lines 2 to each other. Any two logical connections 3 are linked to each other by a communication-line control mechanism 8, a switching-table search mechanism 7, a connection-identifier transformation mechanism 5 and a switch mechanism 6, which are provided for each of the communication lines 2, by using a switching table 4 provided for each communication line 2 or provided in common to the entire connection switching exchange 1. In the example shown in FIG. 2, the switching table 4, the switching-table search mechanism 7 and the connection-identifier transformation mechanism 5 form a communication-line interface 19 for each of the communication lines 2. In the figure, there are shown line interfaces 19-1, 19-2, 19-8 and 19-9.
The switching table 4 is a table showing information on each pair of logical connections to be linked to each other. More particularly, the switching table 4 shows mapping relations from information on communication lines and connection identifiers assigned to the logical connections on the input side to information on communication lines used by logical connections on the output side and connection identifiers assigned to the logical connections on the output side, as well as information on attributes of the logical connections, such as band attributes. In the example shown in FIG. 2, the connection identifiers 3-1-1, 3-1-2 and 3-1-3 using the communication line 2-1 on the input side are associated respectively with the connection identifier 3-8-1 using the communication line 2-8 and the connection identifiers 3-9-1 and 3-9-2 using the communication line 2-9 on the output side. In this example, the switching table 4 is provided individually for each of the communication lines 2.
Since a switching table 4 is associated with each communication line 2, information for input-side communication line 2 is not present in the switching table 4. More particularly, the switching table 4 comprises a column 41 showing connection identifiers assigned to input-side logical connections, a column 42 showing information on output-side communication lines, a column 43 showing connection identifiers assigned to logical connections using the output-side communication lines shown in the entry of column 42, a column 44 showing logical connection attributes and a column 45 showing validity bits each indicating whether the line entry is valid or invalid.
The configuration of the switching table 4 varies to a certain degree in dependence on the technique of implementation of a switching-table search mechanism described below. In some cases, a column entry showing connection identifiers assigned to logical connections using communications lines on the input side is also omitted as is the case with information on communication lines on the input side. In the switching table shown in FIG. 2, the column 45 is used for showing validity bits each indicating whether the line entry is valid or invalid. As an alternative, without using the column 45, a special value can be used in one of columns 41 - 43 to indicate that the information on a communication line or a connection identifier assigned to a communication line in the column entry for the input or output side is invalid. It should be noted that, in the case of the ATM, the connection identifier used in the switching table 4 is a pair of values representing a VPI (Virtual Path Identifier) and a VCI (Virtual Channel Identifier) respectively.
The communication-line control mechanism 8 is connected to its respective communication line 2, and operates to execute input/output control in accordance with a technique for exchanging physical signals with the communication line 2. More specifically, the communication-line control mechanism 8 converts data received serially from the communication line 2 into certain data packet units. A data packet 60 obtained as a result of such conversion is delivered to the connection-identifier transformation mechanism 5 by way of a signal line 51. When the communication-line mechanism 8 receives a data packet 60 from the switch mechanism 6 by way of a signal line 57, to be more specific, a signal line 57-1, 57-2, 57-8 or 57-9, on the other hand, the communication-line mechanism 8 serially outputs the data packet 60 to the communication line 2 in accordance with the established technique for exchanging physical signals with the communication line 2.
The connection-identifier transformation mechanism 5 is a mechanism for rewriting connection-identifier information 62 recorded in the header 61 of a data packet 60 received by the connection switching exchange 1. As described above, a data packet 60 received from one of the communication lines 2 is processed by the communication line control mechanism 8 associated with the communication line 2 before being delivered to the connection-identifier transformation mechanism 5 by way of the signal line 51. Before rewriting connection-identifier information 62 recorded in the header 61 of the data packet 60, the connection-identifier transformation mechanism 5 first of all stores the data packet 60 temporarily and then delivers the connection-identifier information 62 recorded in the header 61 of the data packet 60 to the switching-table search mechanism 7 through a signal line 52.
The switching-table search mechanism 7 searches the switching table 4 for a specific table entry 40 of the switching table 4 through a signal line 53 by using the connection-identifier information 62 recorded in the header 61 of the data packet 60 received through the signal line 52 and information on a communication line 2 associated with the switching-table search means 7 as keys. The specific table entry 40 obtained as a result of the search is delivered to the connection-identifier transformation mechanism 5 by way of a signal line 54. It should be noted that the specific data may not be found in the table entry 40 or the specific data may be found invalid. In order to distinguish the status of the search, search-result valid/invalid information for indicating whether the specific data delivered through the signal line 54 is valid or invalid is also supplied to the connection-identifier transformation mechanism 5 by way of a signal line 55. The search-result valid/invalid information indicates that the specific data is invalid if the specific data delivered through the signal line 54 is invalid in case no valid specific data can be delivered through the signal line 54.
There are a variety of techniques for implementing the switching-table search mechanism 7. One of the techniques is referred to as a direct-map method whereby input information comprising information on the communication line 2 and the connection identifier information 62 recorded in the header 61 of the data packet 60 are used as indexes as they are. In another technique known as a hashing method, the input information is used as an input to a hashing function which generates a hashing value to provide for fast lookup for the target table entry. In still another technique called a contents addressable memory method, the target table entry is searched with a special memory, called a content addressable memory, which can directly lookup the contents of the memory using the input information and can return the information associated with the matched contents. As an alternative, a combination of such techniques may also be adopted.
When the connection-identifier transformation mechanism 5 receives a result of a search operation from the switching-table search mechanism 7, the connection identifier transformation mechanism 5 checks the search result valid/invalid information received by way of the signal line 55. If a result of the checking indicates that the result of the search is valid, the connection-identifier transformation mechanism 5 replaces the connection-identifier information 62 recorded in the header 61 of the data packet 60 with an output-side connection identifier in the column entry 43 of the matched table entry 40 received as a search result through the signal line 54.
The input data packet 60 processed by the connection-identifier transformation mechanism 5 is supplied to the switch mechanism 6 along with information on the output-side communication line 2 in the column entry 42 of the table entry 40 received as a search result by way of the signal line 56, to be more specific, a signal line 56-1, 56-2, 56-8 or 56-9. The switch mechanism 6 has the function of switching a data packet 60 from an input-side communication line 2 to a communication line 2 on the output side. The data packet 60 received from the input-side communication line 2 is then output by the switch mechanism 6 to a signal line 57, to be more specific, a signal line 57-1, 57-2, 57-8 or 57-9, for the output-side communication line 2 determined by the information on the output-side communication line 2 received from the connection-identifier transformation mechanism 5 along with the packet data. The data packet 60 output to the signal line 57 is then supplied to the output-side communication line 2 by way of the aforementioned communication-line control mechanism 8 associated with the communication line 2.
In addition, the connection switching exchange 1 also has a control mechanism 9 connected to the switch mechanism 6 via the signal lines 56-0 and 57-0 inside the exchange 1. Each switching table 4 is set in advance so that a logical connection 82 having a reserved connection identifier is connected to the control mechanism 9 through the signal line 56-0. In general, the control mechanism 9 includes a processor for processing information. That is to say, the processor executes software programs to accomplish the functions of the control mechanism 9. The control mechanism 9 includes, among other elements, a connection setup/release mechanism 10. The connection setup/release mechanism 10 receives a request to set up a new logical connection link or release an existing logical connection link. Such a request is received by the connection setup/release mechanism 10 through a logical connection 82 with the reserved connection identifier described above. The logical connection 82 is used for signaling purposes. Upon receiving such a request, the connection setup/release mechanism 10 sets or modifies the switching table 4 through the signal line 58 and, if necessary, further transmits the request to set up or release a logical connection to a directly connected connection switching exchange or to a communication apparatus by way of a communication line 2.
If the result of the search of the switching table 4 carried out for an input data packet 60 is invalid, the result is discarded in the connection-identifier transformation mechanism 5, or the connection-identifier transformation mechanism 5 specifies the control mechanism 9 as a logical connection destination line for the input data packet 60, instead of rewriting the input data packet 60. In this case, the input data packet 60 is transmitted to the switch mechanism 6, which then passes on the packet 60 to the control mechanism 9. In the control mechanism 9, the input data packet 60 is subjected to error processing.
In addition, a network control method adopted in a communication network including the connection switching exchange 1 described above is also explained on pages 111 to 145 of xe2x80x98ATM Network Bible with Illustrative Diagramsxe2x80x99 published by Ohm Corporation in 1995. As techniques to implement IP/(Internet Protocol) packet communication with the ATM, for example, there are known methods referred to as LAN emulation and IP over ATM. According to either method, in transmission of an IP data packet, the existence of a logical connection for a terminating node in the ATM communication network specified as a destination IP address in the header of the IP data packet, or the existence of a logical connection for a destination terminating node in an ATM communication network, which will pass on the IP data packet to the destination terminating node, is checked. If such a logical connection has not been set up yet, an ATM logical connection to the destination terminating node is set, and the IP data packet is transmitted to the logical connection. The logical connection is set with communication between the connection setup/release mechanism and that of a directly connected connection switching exchange using the signaling logical connection described above. Since connection identifiers assigned to the logical connections being set are determined by the connection switching exchanges on the route of the logical connections themselves, in general, a connection identifier at the output-side of a connection switching exchange varies from that at the input-side of the connection switching exchange as a data packet is transmitted from one exchange to another.
In the conventional method described above, each time the destination of IP data packet data changes, processing to set up a logical connection needs to be carried out. In addition, in the worst case, the number of logical connections becomes equal to a value in the order of the second power of the number of terminating nodes in the communication network, giving rise to a problem that there are neither enough connection identifiers nor enough switching table entries in a large-scale network. In addition, since relations between connection identifiers assigned to input-side communication lines and connection identifiers assigned to output-side communication lines are controlled and stored independently in each connection switching exchange, if a failure occurs somewhere in the communication network, the relations between such connection identifiers are lost, raising a problem that it is necessary to ask a user program at a terminating node to set up end-to-end logical connections from the beginning.
As a basic means to solve the problems described above, there is provided a network management unit in a communication network connected to connection switching exchanges of the communication network by operation-control communication lines. The network management unit has connection-control information and a connection management means for controlling logical connections in the entire communication network in a uniform manner. While referring to and updating the connection-control information, the connection management means treats a fixed number of logical connections having consecutive connection identifiers as a group of connections. Logical connections in the communication network are thus controlled in a uniform manner as a connection group or a plurality of connection groups. Even a logical connection passing through a plurality of connection switching exchanges has only one connection identifier. A connection switching exchange is requested to set up or release logical connections in group units, each of which comprise logical connections having consecutive identifiers as described above. In more detail, each connection switching exchange has a connection setup/release mechanism for executing a function to carry out processing to set up and release logical connections in group units in accordance with a command received from the connection management means employed in the network management unit by way of the operation-control communication line. In addition, different priority levels are assigned to a plurality of connection groups. If different logical connections pertaining to a plurality of connection groups with group sizes different from each other in a connection switching exchange share the same connection identifiers, the group of connections having a small group size is judged to be to a group having a high priority, and only connections having the highest priority are considered valid for the connection identifiers.
A connection switching exchange which fits the control of logical connections set in group units as described above is provided with a switching mask register, a mask mechanism and a switching-information transformation mechanism for the switching table of the connection switching exchange to implement switching of a plurality of logical connections pertaining to a specified connection group by using one switching-table entry. More specifically, contents of the switching mask register can be set at a value received from the connection setup/release mechanism by way of a signal line. The mask mechanism is used to compute an AND value (a logical product) of connection-identifier information recorded in the header of an input data packet and the contents of the mask register. The logical product output by the mask mechanism is supplied to the switching-table search mechanism and used thereby as a key for searching the switching table. Switching-table entry information obtained as a result of the search carried out by the switching-table search mechanism is supplied to the switching-information transformation mechanism.
The switching-information transformation mechanism transforms an output-side connection identifier of the switching-table entry information into an output which is computed as follows. First of all, a logical product of data obtained as a result of bit-by-bit inversion of the contents of the switching mask register and the connection-identifier information recorded in the header of the input data packet is computed. Then, an OR value (a logical sum) of the logical product and the output-side connection identifier of the switching-table entry information obtained as a result of the search operation carried out by the switching-table search mechanism is computed. The logical Sum is a result of the processing output produced by the switching-information transformation mechanism. The result of the processing output produced by the switching-information transformation mechanism is supplied as a new search result to the connection-identifier transformation mechanism which implements the connection switching in conjunction with the switch mechanism.
In addition, in order to implement priority control of a plurality of group units, a set of means comprising the switching table, the switching mask register, the switching-table search mechanism, the mask means and the switching-information transformation mechanism is used as a grouped-search mechanism. A connection switching exchange thus has a plurality of grouped-search mechanisms for carrying out search operations for a plurality of groups at the same time. Different fixed priority levels are further assigned to the plurality of grouped-search mechanisms or a priority judgment/selection mechanism is provided for determining which grouped-search mechanism has the highest priority by comparing the contents of the switching registers thereof. To be more specific, in case a plurality of switching-table entries are obtained as a result of simultaneous search operations, a switching-table entry that is valid and has the highest priority, as indicated by the smallest group size, is selected and supplied as a new search result to the connection-identifier transformation mechanism, which implements the connection switching in conjunction with the switch mechanism.
In addition to the basic means for solving the problems described above, in order to implement connection switching exchanges of high-speed IP data packets in a large-scale communication network and to realize a reliable network, the following means are used.
First of all, a one-directional interterminal logical connection is set up between every two terminating nodes at an initial setting. A one-directional interterminal logical connection has a connection identifier for each destination terminating node, which is unique to the node to which the identifier is assigned. Thus, one-directional interterminal logical connections from terminating nodes to the same destination terminating node all have the same connection identifier, forming so-called multipoint-to-point logical connections. Terminating nodes in a communication network are put in a category of level-0 apparatuses and an edge connection switching exchange directly connected to a terminating node is put in a category of level-1 apparatuses. A connection switching exchange directly connected to an apparatus at level 1 but not pertaining to the categories of level-1 apparatuses and level-0 apparatuses is placed in a category of level-2 apparatuses. In the same way, a connection switching exchange directly connected to an apparatus at level (nxe2x88x921) but not pertaining to the categories of level-(nxe2x88x921) apparatuses and numerically-lower-than-(nxe2x88x921)-level apparatuses is placed in a category of level-n apparatuses.
As described above, all terminating nodes of the communication network are placed in a category of level-0 apparatuses, the lowest level layer in a hierarchy. In such a hierarchy, for apparatuses at all hierarchical levels i where i greater than =1, one-directional interterminal logical connections from an apparatus at level i to apparatuses at level (ixe2x88x921) have consecutive connection identifiers. In addition, for anticipated future expansion of apparatus connections, a proper number of extra connection identifiers are reserved for apparatuses at level i. Thus, the total number of one-directional interterminal logical connections from an apparatus at level i to apparatuses at level (ixe2x88x921), including the reserved ones, is made equal to a multiple of a group unit, and the connection identifiers for the logical connections are assigned in the group unit.
A group of logical connections having connection identifiers assigned thereto are set in the group unit from all apparatuses at level (i+1) directly connected to the apparatus at level i to the apparatus at level i. At a connection switching exchange at level i, a group of logical connections from apparatuses at level (i+1) to an apparatus at level i are distributed so as to be connected to logical connections or a group of logical connections from the apparatus at level i to apparatuses at level ixe2x88x921. In addition, in order to setup meshed interterminal connections, one-directional logical connections are connected from each terminating node to the logical connections, which are set in group units from high to low hierarchical layers, as described above, in a connection-group unit equal to or greater than that for the connections from high to low layers.
Next, as means for implementing connection switching exchanges of high-speed IP data packets, a one-directional interterminal logical connection set up at the initial setting described above is used, and, furthermore, each edge connection switching exchange, that is, a connection switching exchange directly connected to a terminating node, is provided with an IP/connection transformation mechanism as a control mechanism. The IP/connection transformation mechanism transforms an IP address into a connection identifier of a one-directional interterminal logical connection toward a destination terminating node to which IP data having the IP address is to be transferred. By resorting to IP/connection transformation information distributed by the network management unit to show a relation between the IP address and the connection identifier assigned to a one-directional interterminal logical connection toward the destination terminating node, the IP/connection transformation mechanism transmits the IP data packet, received from the origin terminating node, to the destination terminating node using the connection identifier assigned to the one-directional interterminal logical connection toward the destination terminating node. As an alternative, the IP/connection transformation mechanism at an edge connection switching exchange gets the destination IP address from the origin terminating node, transforms the IP address into a connection identifier assigned to a one-directional interterminal logical connection toward the destination terminating node, and returns the connection identifier assigned to the one-directional interterminal logical connection to the origin terminating node. Then, the origin terminating node stores a pair of the returned connection identifier and the IP address in a cache, and transmits the IP data packet to the destination terminating node by using the returned connection identifier.
Next, as a processing means to process a request to set up or release a new logical connection made dynamically by a terminating node, each edge connection switching exchange directly connected to the terminating node has terminal-connection-control information to maintain the information on the logical connections dynamically set or released and the assignment status of the connections indicating whether each connection is assigned to a terminating node or not. The dynamic connections are set and released in a new-connection-setting unit, which is a multiple of a group unit. Referring to and updating the terminal-connection-control information, the connection setup/release mechanism buffers requests to setup and release logical connections received from terminating nodes, and carries out processing to set up and release logical connections in the aforementioned new-connection-setting unit. More particularly, for each request to set a logical connection described above, a group of logical connections from the edge connection switching exchange to a destination apparatus specified in the request is set in the aforementioned new-connection-setting unit if an appropriate unassigned connection matching the request is not left at the edge connection switching exchange. In this case, terminal-connection-control information is created for the newly set logical connections, and the logical connections are marked as free unassigned connections. That is, the collection of terminal-connection-control information provides the information for an unassigned connection buffer pool. Then, a free unassigned logical connection, which connects the edge connection switching exchange and the destination apparatus, is selected from the unassigned connection buffer pool.
The selected logical connection is extended to connect to the terminating node, which issued the request, by setting a switching table of the edge connection switching exchange with the connection identifier assigned to the selected logical connection. When a request to release a logical connection is received from a terminating node, the corresponding terminal-connection-control information is updated so that the released logical connection is marked as a free unassigned connection. That is, the released logical connection is considered to be put back into the free unassigned buffer pool. In more detail, the switching table setting for a part of the logical connection between the connection switching exchange and the terminating node issuing the request is invalidated, and the remaining part of the logical connection from the connection switching exchange to the destination apparatus is marked as a free unassigned connection. In addition, the terminal-connection-control information includes time-out information for timing the release of a group of logical connections controlled by the control information. If all logical connections in a group controlled by terminal-connection-control information has been continuously in an unassigned state for a predetermined period of time, the group of logical connections will be released by the connection setup/release mechanism, which checks the states of the logical connections periodically.
The following is a description of processing to handle a failure occurring in the communication network by using a plurality of group sizes. For a group of logical connections corresponding to a unit for a normal communication route, a group of logical connections for a detour communication route having the same connection identifiers as the group of normal logical connections is provided. The group of logical connections for a detour communication route has a group size larger than that of the group of normal logical connections.
In the event of a failure occurring in the communication network, the grouped-connection management means employed in the network management unit issues a request to the connection switching exchange on the failing communication route to carry out processing to invalidate the setting of the switching of the failing group of logical connections with a smaller group size, provided that a group of logical connections for a detour communication route has been set.
If a failure is detected in a portion for which such a group of logical connections for a detour communication route is not set, on the other hand, the grouped-connection management means refers to connection-control information and information on a configuration of logical connections among apparatuses in the communication network stored in the network management unit in order to determine a detour communication route. In this case, taking conditions such as a communication bandwidth into consideration, the grouped-connection management means forms a judgment as to whether connection identifiers of the failing group of logical connections are to be used as connection identifiers of the detour communication route as they are or other connection identifiers for the detour communication route are to be used. If necessary, connection identifiers for the detour route are thus assigned.
The grouped-connection management means then carries out processing to make connection requests to connection switching exchanges or terminating nodes along the detour communication route in the following order, in order to setup logical connections between the group of logical connections for a detour communication route and the group of logical connections originally connected to the failing logical connection or in order to setup the group of logical connections for a detour communication route having connection identifiers for the detour route in a group unit of the failing group of logical connections. The processing begins with connection switching exchanges in the middle of the detour communication route to be followed by a terminating node on the source side of the detour communication route or at either end of the detour communication route if the failing logical connection is a bi-directional logical connection. The processing ends with a terminating node at the other end of the detour communication route.
According to the means described above, since a logical connection already set between terminating nodes is used, processing to set a logical connection at each IP-packet switching time is not required, allowing switching of a high-speed IP data packet to be carried out. In addition, since logical connections controlled in the aforementioned group units across the network are used, and grouped logical connections are hierarchically connected or distributed relative to each other, connection identifiers are required only in the order of a number of terminating nodes even if meshed logical connections are set between terminating nodes.
Moreover, in the connection switching exchange provided by the present invention, since switching of a plurality of logical connections can be carried out by using only one entry of a switching table, functions of the connection switching exchange can be utilized effectively with control of the aforementioned group units, allowing meshed logical connections between terminating nodes to be implemented by using only very few entries of the switching table. On top of that, even in the configuration of a large-scale network, the number of chances that connection identifiers and switching-table entries become insufficient becomes smaller, making an application to a large-scale network possible.
In addition, by using a plurality of different group sizes, a group of logical connections for a detour communication route can be set. With a group of logical connections for a detour communication route set in advance, processing to handle a failure can be carried out by merely invalidating the failing group of logical connections. Furthermore, even if a group of logical connections for a detour communication route does not exist, a detour route can be easily set with a group unit because all logical connections in the communication network are controlled in group units by using unique connection identifiers. As a result, a reliable network can be constructed.